const express = require('express');  
const jwt = require('jsonwebtoken');  
  
const app = express();  
const secretKey = 'jsadfkjdldsjfl'; // 用于签名和验证令牌的密钥  

// 生成 JWT
function generateToken(user) {  
  const payload = {  
	user: user 
  };  
  const token = jwt.sign(payload,secretKey,{ expiresIn: '4000s' });  
  return token;  
}  
// 验证 JWT  
function verifyToken(req, res, next) {  
  const token = req.headers.token; // 从请求头中获取令牌  
  if (!token) {  
	return res.status(401).send('请先登录后再操作，');  
  }  
  jwt.verify(token, secretKey, (err, user) => {  
	if (err) {  
	  return res.status(403).send('登录失效，请重新登录');  
	}  
	req.user = user; // 将用户信息存储在请求对象中，以便在后续路由中使用  
	next(); // 继续处理请求  
  });  
} 

module.exports={
	generateToken,
	verifyToken
}